purl机制